The present invention relates to software version conflict checking, and more specifically, to version conflict checking of an installable unit.
At present, information technology (IT) companies often need to provide comprehensive solutions for their customers. In such a comprehensive solution, IT companies often have to deploy for their customers a complex IT environment, where fundamental software needs to work together with business integration software or with different components belonging to different versions of the same software. During the installation, if newly installed software is not aware of its dependencies on other software versions in the IT environment, then the installation might fail; or after being installed, the newly installed software does not operate normally; or the installation results in other software in the IT environment not operating normally. No matter which circumstance occurs, the software maintenance cost will be increased. This is not desired by IT companies. Therefore, version level dependency relationship checks to different software and components in a life cycle of one system becomes more and more important.
Currently, software version dependency relationship checking is typically implemented using static methods, and developers need to manually record and maintain dependency information between software, for example, by recording version dependency information between software using configuration files. During software installation or updating, an installer checks, manually by a programmer or automatically, whether the dependency relationship between to-be-installed or to-be-updated software and other software in the current IT environment is compatible, so as to determine whether to install or update the current software. While uninstalling software, it is quite difficult to check whether the software to be uninstalled will exert an impact on installed software in the current system and which software will be affected.